const { getFileUrl } = require('../utils/fileHelper');

/**
 * 处理单个文件上传请求
 * 用于处理各种认证相关文件的上传
 */
exports.uploadFile = (req, res) => {
    try {
        if (!req.file) {
            return res.status(400).json({
                success: false,
                message: '请上传文件'
            });
        }

        // 获取文件类型
        const fileType = req.body.type || 'general';
        const validTypes = ['idCardFront', 'idCardBack', 'signature', 'general'];

        if (!validTypes.includes(fileType)) {
            return res.status(400).json({
                success: false,
                message: '无效的文件类型，支持的类型：' + validTypes.join(', ')
            });
        }

        // 生成访问URL
        const fileUrl = getFileUrl(req.file.path);

        res.status(200).json({
            success: true,
            message: '文件上传成功',
            data: {
                url: fileUrl,
                type: fileType,
                filename: req.file.filename,
                originalname: req.file.originalname,
                size: req.file.size
            }
        });
    } catch (error) {
        console.error('文件上传错误:', error);
        res.status(500).json({
            success: false,
            message: '文件上传失败',
            error: error.message
        });
    }
}; 